Matthias Clasen [Sun, 17 Mar 2019 00:41:51 +0000 (20:41 -0400)]
single selection: Skip tests properly
Do runtime checks for the GLib version,
instead of compiling out tests.
This avoids compiler warnings.
Matthias Clasen [Sun, 24 Feb 2019 13:19:05 +0000 (08:19 -0500)]
widget: Check rootness for invisibility
Make the function that determines initial visibility
look at whether the class implements GtkRoot. That is
the eventual goal for this check. For now, allow
popovers in here as well.
Jordi Mas [Sat, 16 Mar 2019 21:06:43 +0000 (22:06 +0100)]
Update Catalan translation
Matthias Clasen [Fri, 15 Mar 2019 18:35:25 +0000 (14:35 -0400)]
password entry: Don't show both icons
It can be a bit confusing to have an indicator
and an action next to each other, and with the
peek icon, the need for the Caps Lock warning is
reduced, since you can just reveal the text to
see that it is capitalized.
Therefore, only show the Caps Lock warning if
the peek icon is disabled.
Matthias Clasen [Fri, 15 Mar 2019 14:34:06 +0000 (10:34 -0400)]
Add a tagged entry demo
This can serve as an example for how composite entries
can now be done outside of GTK, easily.
Matthias Clasen [Thu, 14 Mar 2019 22:53:28 +0000 (18:53 -0400)]
gtk-demo: Show password peek icon
Matthias Clasen [Wed, 13 Mar 2019 20:27:07 +0000 (16:27 -0400)]
password entry: Add a way to see the content
Add a ::show-peek-icon property and show a clickable
icon when it is set. Clicking it toggles the visibility
of the content. The same functionality is also accessible
via a context menu item.
This is a common feature of password entries.
Matthias Clasen [Fri, 15 Mar 2019 00:03:34 +0000 (20:03 -0400)]
password entry: Make the Caps Lock icon less prominent
Set a style class, and theme the Caps Lock icon to
be less promient, so it does not appear clickable.
Matthias Clasen [Thu, 14 Mar 2019 23:17:39 +0000 (19:17 -0400)]
password entry: Use text cursor for Caps Lock indicator
We don't want it to appear clickable, but we still
need to keep it pickable for the tooltip to work,
so explicitly give it the same cursor that we use
for the text.
Matthias Clasen [Thu, 14 Mar 2019 23:15:31 +0000 (19:15 -0400)]
entry: Make progress bar not pickable
There is no need for that, we don't want to
handle input here at all.
Matthias Clasen [Thu, 14 Mar 2019 22:59:35 +0000 (18:59 -0400)]
password entry: a better Caps Lock icon
This is more in line with how Caps Lock
is typically indicated.
Matthias Clasen [Wed, 13 Mar 2019 22:53:13 +0000 (18:53 -0400)]
gtk-demo: Add a password entry demo
Matthias Clasen [Wed, 13 Mar 2019 23:17:19 +0000 (19:17 -0400)]
password entry: Add placeholder-text and activates-default
Add ::placeholder-text and ::activates-default properties.
Password entries are going to be used in dialogs, where
these two properties are useful.
Matthias Clasen [Wed, 13 Mar 2019 20:34:27 +0000 (16:34 -0400)]
password entry: Initialize capslock state
The icon was erroneously showing up before the first
focus-in event.
Matthias Clasen [Wed, 13 Mar 2019 21:44:01 +0000 (17:44 -0400)]
a11y: More entry fixes
Remove the GtkEntry assumption from more places.
Matej Urbančič [Tue, 12 Mar 2019 19:25:31 +0000 (20:25 +0100)]
Updated Slovenian translation
Nathan Follens [Sun, 10 Mar 2019 13:02:39 +0000 (13:02 +0000)]
Update Dutch translation
Benjamin Otte [Fri, 8 Mar 2019 13:12:17 +0000 (14:12 +0100)]
text: Simplify
The previous arguments were equivalent to using NULL.
Benjamin Otte [Fri, 8 Mar 2019 13:12:04 +0000 (14:12 +0100)]
text: Remove two unused member variables
Benjamin Otte [Fri, 8 Mar 2019 12:39:52 +0000 (13:39 +0100)]
text: Use gtk_widget_set_overflow()
Benjamin Otte [Fri, 8 Mar 2019 12:33:54 +0000 (13:33 +0100)]
text: Remove 2 unused variables
One is always 0, the other is always equal to gtk_widget_get_width()
Benjamin Otte [Fri, 8 Mar 2019 12:19:13 +0000 (13:19 +0100)]
colorswatch: Use gtk_widget_set_overflow()
Benjamin Otte [Fri, 8 Mar 2019 12:17:51 +0000 (13:17 +0100)]
widget: Make overflow respect rounded corners
Fixes !574
Bastien Nocera [Thu, 7 Mar 2019 15:29:28 +0000 (16:29 +0100)]
gsk: API docs fixes
gsk/gskenums.h:181: Error: Gsk: multiple "@GSK_TRANSFORM_CATEGORY_2D" parameters for identifier "GskTransformCategory":
* @GSK_TRANSFORM_CATEGORY_2D: The matrix is a 2D matrix. This is equivalent
^
gsk/gsktransform.c:1342: Warning: Gsk: gsk_transform_to_2d: unknown parameter 'm' in documentation comment, should be 'self'
gsk/gsktransform.c:1368: Warning: Gsk: gsk_transform_to_2d: invalid return annotation
gsk/gsktransform.c:1461: Warning: Gsk: gsk_transform_to_translate: unknown parameter 'm' in documentation comment, should be 'self'
Benjamin Otte [Thu, 7 Mar 2019 12:06:37 +0000 (13:06 +0100)]
revealer: Add swing transitions
And make the revealer on page 2 of the widget-factory use one.
Piotr Drąg [Thu, 7 Mar 2019 10:56:27 +0000 (11:56 +0100)]
Update Polish translation
Matthias Clasen [Thu, 7 Mar 2019 04:38:52 +0000 (23:38 -0500)]
x11: Don't emit GDK_NOTHING events
They are good for nothing.
Benjamin Otte [Wed, 6 Mar 2019 11:39:56 +0000 (12:39 +0100)]
rendernode: Add can_diff implementation for transform nodes
That one was missing and killing performance in the fishbowl.
Timm Bäder [Wed, 6 Mar 2019 08:03:17 +0000 (09:03 +0100)]
entry: Update CSS node docs
Remove all the nodes that are subnodes of GtkText nowadays and refer to
the GtkText docs instead.
Timm Bäder [Tue, 5 Mar 2019 08:03:11 +0000 (09:03 +0100)]
gl renderer: Cache rendered fallback nodes
Timm Bäder [Tue, 5 Mar 2019 08:00:55 +0000 (09:00 +0100)]
gl renderer: Mark pointer textures as used
Otherwise we remove them, causing additional texture uploads.
Benjamin Otte [Tue, 5 Mar 2019 08:27:30 +0000 (09:27 +0100)]
transform: Add perspective()
This commit adds gsk_transform_perspective(), gtk_snapshot_perspective()
and support for perspective() in the CSS syntax.
Benjamin Otte [Mon, 4 Mar 2019 21:11:57 +0000 (22:11 +0100)]
rendernode: Implement diffing of transform nodes
This reinstates diffing in the same way that it worked for offset nodes.
It would be possible to add diffing for affine transforms or even all
transforms, but I think this is unnecessary right now - and also quite
expensive to compute.
Benjamin Otte [Mon, 4 Mar 2019 20:43:44 +0000 (21:43 +0100)]
transform: Readd optimization
This is the optimization from
bbd4e2f60d9e060fbe3b0c2dcebcd1d6b7335a2a
Benjamin Otte [Mon, 4 Mar 2019 18:33:04 +0000 (19:33 +0100)]
transform: Redo querying API
Make the API expect a tranform of the proper category instead of
doing the check ourselves and returning TRUE/FALSE.
The benefit is that the mai use case is switch (transform->category)
statements and in those we know the category and don't need to check
TRUE/FALSE.
Using the wrong matrix will now cause a g_warning().
Benjamin Otte [Mon, 4 Mar 2019 08:20:58 +0000 (09:20 +0100)]
transform: Store the category in the transform
... instead of computing it every time we need it.
This should be faster and we want to use it a lot more prominently.
Also, we have the struct memory available anyway.
Benjamin Otte [Sun, 3 Mar 2019 16:57:11 +0000 (17:57 +0100)]
transform: Implement gsk_transform_invert()
And use it.
And test it.
Benjamin Otte [Sat, 2 Mar 2019 10:46:07 +0000 (11:46 +0100)]
transform: Remove gsk_transform_identity()
This used to be a good idea back when GskTransform was intended to be
used for transitions, but without it, it's not anymore.
Benjamin Otte [Sat, 2 Mar 2019 04:15:47 +0000 (05:15 +0100)]
widget: Make transform a GskTransform
This concludes pushing transforms down into GskTransform.
What's remaining is potentially pushing it further into the renderers.
Benjamin Otte [Sat, 2 Mar 2019 03:39:46 +0000 (04:39 +0100)]
testsuite: Add a transforms test
In particular, check that to_matrix() and to_2d(), to_affine() and
to_translate() return the same values.
This also requires a recent Graphene version or the tests will fail.
Benjamin Otte [Sat, 2 Mar 2019 03:35:44 +0000 (04:35 +0100)]
trasnform: Fix print statement
We were printing the wrong variable.
Benjamin Otte [Sat, 2 Mar 2019 02:21:09 +0000 (03:21 +0100)]
transform: Split rotate() and rotate3d() class
This is mainly for accuracy: We can guarantee the math we do for 2D
rotations results in a 2D matrix.
Benjamin Otte [Fri, 1 Mar 2019 06:51:23 +0000 (07:51 +0100)]
transform: Make category public API
Also rename it from GskMatrixCategory to GskTransformCategory.
Benjamin Otte [Fri, 1 Mar 2019 05:48:30 +0000 (06:48 +0100)]
transform: Remove API to poke internals
It is not interesting to users of GskTransform how it is made up
internally. Users should just use the gsk_transform_to_*() APIs.
Benjamin Otte [Fri, 1 Mar 2019 05:35:55 +0000 (06:35 +0100)]
rendernode: Make the transform node take a GskTransform
This is an attempt to push GskTransform deeper into the stack.
Benjamin Otte [Fri, 1 Mar 2019 05:24:33 +0000 (06:24 +0100)]
transform: Add more API
In particular, add a per-category querying API for the matrix:
- gsk_transform_to_translate()
- gsk_transform_to_affine()
- gsk_transform_to_2d()
- gsk_transform_to_matrix()
This way, code can use the relevant one for the given category.
Benjamin Otte [Thu, 28 Feb 2019 08:52:49 +0000 (09:52 +0100)]
transform: Move to GSK
The renaming of the prefix makes this a large patch.
Matthias Clasen [Mon, 4 Mar 2019 17:36:10 +0000 (17:36 +0000)]
Merge branch 'adwaita-typo-fix-master' into 'master'
Adwaita: Fix typo (missing comma)
Closes #1713
See merge request GNOME/gtk!618
Christoph Reiter [Sun, 3 Mar 2019 09:38:18 +0000 (10:38 +0100)]
treeview: make sure separator nodes have a height > 0
In case the theme doesn't set a height/min-height for the treeview
separator the treeview drawing gets confused and draws rows on top of each
other depending on the redraw area.
This is due to gtk_tree_view_get_row_height() assuming that a node with a
height <= 0 is not set and not a separator and it will default to the
expander size.
Ideally gtk_tree_view_get_row_height() would know if it operates on a separator,
but there are too many calls/levels, so just make sure the separator height
is at least 1 (Adwaita already sets "min-height: 2px", so no change there)
Cherry-picked from !614 to master
Alex Monday [Mon, 4 Mar 2019 15:30:43 +0000 (15:30 +0000)]
Adwaita: Fix typo (missing comma)
Closes https://gitlab.gnome.org/GNOME/gtk/issues/1713
(cherry picked from commit
0b61d6f6aef9fba35e896ac437a66b78eb649f75)
Emmanuele Bassi [Mon, 4 Mar 2019 11:35:18 +0000 (11:35 +0000)]
Merge branch 'notebook-notify-page-not-child' into 'master'
notebook: Notify the notebook page, not the child
See merge request GNOME/gtk!616
Matthias Clasen [Mon, 4 Mar 2019 03:55:34 +0000 (22:55 -0500)]
search entry: Fix a copy-paste error
Matthias Clasen [Mon, 4 Mar 2019 03:14:19 +0000 (22:14 -0500)]
entries: Fix mnemonic activation
Since entries are no longer can-focus, the default
mnemonic_activate handler refuses to act on them.
Peter Bloomfield [Sun, 3 Mar 2019 23:21:10 +0000 (18:21 -0500)]
notebook: Notify the notebook page, not the child
Call g_object_notify() on the GtkNotebookPage, not the child GtkWidget.
Fixes some issues in !594.
Benjamin Otte [Sun, 3 Mar 2019 18:40:32 +0000 (19:40 +0100)]
widget: Fix gtk_widget_pick() on 3d-transformed widgets
Picking is done by drawing a line along the parent's z axis and picking
at the intersection with the child's z=0 plane.
However, the previous code was casting a ray along the child's z axis.
This patch actually transforms the line to pick into the target's
coordinate system and then computes the corrrect intersection with the
z=0 plane.
Using graphene_point3d_interpolate() to compute the final intersection
point is a bit of abuse of that function, but I found no better way in
Graphene to achieve the same thing.
Matthias Clasen [Sun, 3 Mar 2019 17:42:20 +0000 (12:42 -0500)]
gtk-demo: Minimally fix the sarch entry demo
This was broken by the entry refactoring.
Matej Urbančič [Sat, 2 Mar 2019 19:57:57 +0000 (20:57 +0100)]
Updated Slovenian translation
Timm Bäder [Sat, 2 Mar 2019 04:28:55 +0000 (05:28 +0100)]
Fix compile time warnings
Timm Bäder [Sat, 2 Mar 2019 04:25:43 +0000 (05:25 +0100)]
a11y: Include gtktextaccesible.h in gtk-a11y.h
Closes #1710
Emmanuele Bassi [Fri, 1 Mar 2019 12:23:26 +0000 (12:23 +0000)]
Merge branch 'redundant-editable-api' into 'master'
entry, spin button: Drop redundant API
See merge request GNOME/gtk!611
Matthias Clasen [Thu, 28 Feb 2019 19:31:36 +0000 (14:31 -0500)]
entry, spin button: Drop redundant API
Avoid duplicating GtkEditable APIs. Port existing users.
Timm Bäder [Thu, 28 Feb 2019 08:44:08 +0000 (09:44 +0100)]
roundedrect: Add gsk_rounded_rect_to_string
Keep it private for now, but it's very useful when debugging.
Timm Bäder [Thu, 28 Feb 2019 09:12:17 +0000 (10:12 +0100)]
gl renderer: Change shadow cache eviction strategy
Since we can do partial redraws, dropping every shadow that's been
unused for one frame happens too fast. This is also a problem when a
shadow gets drawn on a texture for a few frames.
Timm Bäder [Tue, 26 Feb 2019 05:49:59 +0000 (06:49 +0100)]
gl renderer: Ignore nodes with nan bounds
This can happen for certain transform nodes. The transform node's
child's bounds are fine, but the transform node bounds are all nan.
Just ignore those bounds since we can't meaningfully render them anyway.
Timm Bäder [Tue, 26 Feb 2019 06:24:18 +0000 (07:24 +0100)]
transformnode: Avoid matrix multiplication if we can
If the given matrix is explicitly of category IDENTITY, we don't need to
do anything, and in the 2D_TRANSLATE case, just offset the child bounds.
Those are the two most common cases.
Timm Bäder [Tue, 26 Feb 2019 06:17:08 +0000 (07:17 +0100)]
gl renderer: Add more nodes that support transforms
Matthias Clasen [Thu, 28 Feb 2019 04:47:39 +0000 (23:47 -0500)]
entry: Don't use the buffer directly
We want to be a wrapper of the GtkText, which in turn
wraps the GtkEntryBuffer. Not some weird mix.
Matthias Clasen [Thu, 28 Feb 2019 03:42:27 +0000 (22:42 -0500)]
treeview: Stop using set_focus_child
Do this with an event controller on the buttons instead.
Nirbheek Chauhan [Wed, 27 Feb 2019 14:46:22 +0000 (14:46 +0000)]
Merge branch 'alatiera/python3' into 'master'
build: Use python3 for the post install script
See merge request GNOME/gtk!608
Jordan Petridis [Tue, 26 Feb 2019 22:55:08 +0000 (00:55 +0200)]
build: use condense the mkdir calls to oneliners
Jordan Petridis [Tue, 26 Feb 2019 22:51:55 +0000 (00:51 +0200)]
build: no need to replace path separators
Python APIs accept both `\` and `/` as path separators.
Jordan Petridis [Mon, 25 Feb 2019 05:09:35 +0000 (07:09 +0200)]
build: Use python3 for the post install script
While *some* systems alias python to python3 nowdays, this is
not true for eveything. Especially systems that can potentially
offer both python2 and python3.
According to both PEP 394 and PEP 441 its recommended to always
add the 3 in the shebang.
Jakub Steiner [Wed, 27 Feb 2019 11:10:56 +0000 (12:10 +0100)]
Adwaita: define insensitive links
- tone down the disabled/insensitive links.
Fixes issue #1645
Benjamin Otte [Mon, 25 Feb 2019 06:58:32 +0000 (07:58 +0100)]
xembed: Remove unused file
Benjamin Otte [Wed, 27 Feb 2019 06:29:57 +0000 (07:29 +0100)]
window: Return no item for no item name
Matthias Clasen [Tue, 26 Feb 2019 19:07:19 +0000 (14:07 -0500)]
window: Undo the deprection of gtk_window_present
After considerable discussion, we came to the conclusion
that the convenience of this API wins over the correctness
of gtk_window_present_with_time(), in particular since we
don't have a good mechanism to carry timestamps from the
events to the places where we present windows.
Matthias Clasen [Tue, 26 Feb 2019 13:16:48 +0000 (08:16 -0500)]
testsuite: Stop using grab-focus as a keybinding signal
We don't have that signal anymore.
Matthias Clasen [Tue, 26 Feb 2019 04:27:18 +0000 (23:27 -0500)]
widget: Remove the ::grab-focus signal
Nobody is connecting to this signal. And nobody
should.
Matthias Clasen [Tue, 26 Feb 2019 04:18:13 +0000 (23:18 -0500)]
container: Remove the ::set-focus-child signal
Nobody is connecting to this signal. And its
better that way.
Matthias Clasen [Mon, 25 Feb 2019 18:17:46 +0000 (18:17 +0000)]
Merge branch 'wip/hadess/window-present-docs' into 'master'
gtk_window_present() docs
See merge request GNOME/gtk!609
Bastien Nocera [Wed, 25 Jul 2018 15:48:52 +0000 (17:48 +0200)]
surface: Advise using gtk_window_present_with_time()
Rather than gtk_window_present()
Bastien Nocera [Wed, 25 Jul 2018 15:43:02 +0000 (17:43 +0200)]
window: Warn when gtk_window_present_with_time() is passed 0
When 0 or GDK_CURRENT_TIME is passed to gtk_window_present_with_time(),
print a warning so that the application developer knows that this isn't
a supported use of the function, but carry on working for now.
Bastien Nocera [Wed, 25 Jul 2018 15:42:26 +0000 (17:42 +0200)]
all: Don't warn about deprecated gtk_window_present usage
Avoid compilation warnings about internal users of gtk_window_present().
Bastien Nocera [Wed, 25 Jul 2018 15:18:55 +0000 (17:18 +0200)]
window: Deprecate gtk_window_present()
And expect gtk_window_present_with_time() to be used instead.
Bastien Nocera [Mon, 25 Feb 2019 16:31:14 +0000 (17:31 +0100)]
Add 4.0 deprecation warning macros
Note that functions deprecated in 4.0 will cause deprecation warnings
even with the pre-4.0 GTK development versions.
Matthias Clasen [Mon, 25 Feb 2019 14:21:56 +0000 (09:21 -0500)]
entry: Make placeholder-text work again
Timm Bäder [Sat, 23 Feb 2019 15:59:46 +0000 (16:59 +0100)]
gl renderer: Remove GskRoundedRect initializaion
Timm Bäder [Sun, 24 Feb 2019 08:14:23 +0000 (09:14 +0100)]
gl renderer: Partially implement rounded rect intersection
Some rounded rect intersections can actually be done and even expressed
as a single rounded rectangle.
Timm Bäder [Sun, 24 Feb 2019 08:09:02 +0000 (09:09 +0100)]
gl renderer: Add debug function to dump render node
Timm Bäder [Sat, 23 Feb 2019 06:57:12 +0000 (07:57 +0100)]
compare-render: Assert that no error has been set
Much better error message than just the one from the node != NULL
assertion in the next line.
Timm Bäder [Sat, 23 Feb 2019 06:50:51 +0000 (07:50 +0100)]
gl renderer: Stop determining the matrix category ourselves
Use the category we get from transform nodes and add ops_ API to supply
one when we set a graphene_matrix_t directly.
Matthias Clasen [Sun, 24 Feb 2019 20:29:08 +0000 (15:29 -0500)]
docs: Miscellaneous doc fixes
Additions and correction all over the place,
in GDK and GTK docs.
Matthias Clasen [Sun, 24 Feb 2019 18:56:09 +0000 (13:56 -0500)]
docs: Remove some no-longer-existing api
Matthias Clasen [Sun, 24 Feb 2019 18:32:24 +0000 (13:32 -0500)]
docs: Its just GTK now
Another round of + removal.
Piotr Drąg [Sun, 24 Feb 2019 15:59:47 +0000 (16:59 +0100)]
Update POTFILES.in
Matthias Clasen [Sun, 24 Feb 2019 15:53:23 +0000 (10:53 -0500)]
gdk: Rename our vulkan context to GTK
Not sure it shows up anywhere, but just for completeness.
Matthias Clasen [Sun, 24 Feb 2019 15:51:21 +0000 (10:51 -0500)]
docs: Its just GTK now
Remove the + from GTK+ in more places in the GDK docs.
Matthias Clasen [Sun, 24 Feb 2019 15:49:01 +0000 (10:49 -0500)]
docs: Its just GTK now
Remove the + from GTK+ in the GDK docs.
Matthias Clasen [Sun, 24 Feb 2019 15:44:15 +0000 (10:44 -0500)]
gitlab templates: Its just GTK now
More plus purging.
Matthias Clasen [Sun, 24 Feb 2019 15:40:17 +0000 (10:40 -0500)]
docs: Remove a mention of Gtkinvisible